package com.sxj.corejava.code08_常用类.泛型;

/**
 * @author 石小俊
 * @date 2025年02月18日
 */
public class Test03_泛型方法 {

    public static void main(String[] args) {

        Stu<String> stu = new Stu<>();
        stu.setNo("wbs001");
        System.out.println(test01(stu));

        Stu<Integer> stu2 = new Stu<>();
        stu2.setNo(1);
        System.out.println(test01(stu2));

        test02(stu);
        test02(stu2);
    }

    /**
     * 在方法中定义一个泛型,通过<泛型标识>表示
     * 表示当前方法的返回值类型是根据方法参数的泛型类型而定的
     * 泛型类型是什么,则方法的返回值类型就是什么
     * @param stu
     * @param <V>
     * @return
     */
    public static <V> V test01(Stu<V> stu) {
        return stu.getNo();
    }

    public static <K> void test02(Stu<K> stu) {
        K k = stu.getNo();
        System.out.println("学号为:" + k);
    }
}
